import pandas as pd
import matplotlib.pyplot as plt

# 设置图片清晰度
plt.rcParams['figure.dpi'] = 300

# 设置中文字体
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.rcParams['axes.unicode_minus'] = False

# 读取Excel文件
file_path = 'FhjlViewDD.xlsx'
df = pd.read_excel(file_path)

# 转换创建时间列为datetime类型
if '创建时间' in df.columns:
    df['创建时间'] = pd.to_datetime(df['创建时间'])
else:
    raise ValueError('数据中未找到“创建时间”列')

# 筛选6月份的数据
df_june = df[(df['创建时间'].dt.month == 6) & (df['创建时间'].dt.year == df['创建时间'].dt.year.min())]

# 假设存在“货品”列标识水泥，“净重”列记录货运量
if '货品' in df_june.columns and '净重' in df_june.columns:
    df_cement = df_june[df_june['货品'] == '水泥']
    daily_total = df_cement.groupby(df_cement['创建时间'].dt.date)['净重'].sum()
else:
    raise ValueError('数据中未找到“货品”或“净重”列')

# 绘制柱状图
plt.figure(figsize=(12, 6))
daily_total.plot(kind='bar', color='lightgray')
plt.title('6月每日水泥货运量趋势图')
plt.xlabel('日期')
plt.ylabel('水泥货运量（吨）')
plt.xticks(rotation=45)
plt.tight_layout()

# 保存图表
plt.savefig('水泥货运量统计.png')
plt.close()

print('统计完成，图表已保存为“水泥货运量统计.png”')